ubuntu docker安装及使用/打包ROS环境及程序 | 您所在的位置:网站首页 › phpstorm docker环境 › ubuntu docker安装及使用/打包ROS环境及程序 |
1、docker安装 一键安装指令: wget http://fishros.com/install -O fishros && . fishros 参考:https://fishros.com/#/fish_home 查看当前安装版本:$ docker -v 安装完成Docker后,默认已经启动了docker服务。 # 启动docker $ sudo service docker start # 重启docker $ sudo service docker restart # 停⽌docker $ sudo service docker stop 2、查看运行的容器/查看本机已用的容器/查看容器ID及状态:sudo docker ps -a 查看镜像列表:sudo docker images * REPOSITORY:镜像所在的仓库名称 * TAG:镜像标签 * IMAGEID:镜像ID * CREATED:镜像的创建⽇期(不是获取该镜像的⽇期) * SIZE:镜像⼤⼩ 3、进入容器:sudo docker exec -it 350367a9ea52 /bin/bash 或者sudo docker exec -it 3503 bash
ctrl+d快捷键退出容器
若显示容器没有运行,则输入以下步骤启动该容器再进入,如下图: xhost + docker restart 3503 docker进入容器4、拉取别人做好的镜像1)在线网站拉取ros镜像 https://hub.docker.com/_/ros/tags 如:sudo docker pull ros:noetic-ros-base-buster 2)将打包好的镜像拷贝到新机器上面,执行load命令解压 docker load < tar包名称.tar #执行命令
进入容器后,转到程序文件夹下:cd 【文件夹地址】 执行启动命令:./【可执行程序】。 5、缺点如果要测试数据,数据还需要另外从本机拷贝到容器中再运行。 备注:1、拷贝文件:传文件进docker指定路径1.1 执行下面命令上传文件到容器中的镜像的指定位置 docker cp /路径/文件名 容器ID:/上传路径 1.2 从docker传文件到实体机 如需将docker中的文件传输到实体机上,我们只需要将之前的cp命令方向反过来 docker cp 容器ID:/上传路径 /路径/文件名 2、导出镜像保存:save命令导出镜像(如下图)2.1 第一步:将正在运行的docker容器打包成image镜像 docker commit 0a3b26324050[容器ID]liaomldocker/vta_mysql:1.0 [名称:版本号] 如:sudo docker commit 350367a9ea52 slamassistantcpp:1.0 2.2 第二步:把刚刚打包好的镜像保存成 tar 文件 docker save 镜像名:版本号 -o /路径/保存的包名.tar 如:sudo docker save slamassistantcpp:1.0 -o /home/wch/slamassistantcpp.tar save命令导出镜像保存 2.3 第三步:给当前操作放行 Permission denied错误是因为当前的文件夹的操作权限是系统管理员,当前用户的权限不足,所以操作不了,提示的错误也就是权限不足,将该文件夹对所有用户都开放就可以了。 执行以下命令(如图): sudo chmod -R 777 /soft -R 是指级联应用到目录里的所有子目录和文件 777 是所有用户都拥有最高权限 /soft 是需要放行的文件夹 给文件释放权限3、测试ros环境: 进入容器,打开roscore。
若ros已安装,进入docker容器之后,找不到ros相关命令,则需要临时添加source /opt/ros/noetic/setup.bash (noetic对应自己的版本号)。添加好之后,就可以在容器命令行中使用ros命令了。如下图: 容器中运行roscore测试环境在容器中运行自己的程序,跟在自己电脑上指令一样,到这里相当于是一个新的电脑虚拟机。如图运行打开liosam程序。 运行liosam4、常用命令 1)添加环境变量 export PATH=$PATH:/slamdata/livox_ros_driver-maste/devel/setup.bash 2)删除文件 rm -rf [文件名称] 如:rm -rf CMakeLists.txt 参考: 1)Ubuntu20.04安装Docker:https://blog.csdn.net/m0_68744965/article/details/129147628 2)Ubuntu 22.04中安装docker及ROS镜像,以及在docker中运行rviz: https://blog.csdn.net/HappniessWord/article/details/125612955 3)【Docker】:https://blog.csdn.net/xuxuxux123/article/details/127162773 4)Docker容器不识别宋体等字体的解决方案:https://www.yingsoo.com/news/servers/41773.html 如:docker cp /usr/share/fonts 350367a9ea52:/usr/share/fonts/ (新手上路,批评指正~) |
CopyRight 2018-2019 实验室设备网 版权所有 |